(1) Field of the Invention
The present invention describes a sensing system that monitors the rotational speed of a trackmarble, mouse, fingerwheel, trackball or any group of linear shaft encoders in all directions independently and responds to rate-aided commands issued by the user or by a Central Processing Unit (CPU).
Trackmarbles are compact devices that contain optical encoders to generate digital signals by rotation of a ball. The trackmarble outputs X (left/right or horizontal) and Y (up/down or vertical) quadrature square waves. Trackmarbles lend themselves to many applications and are specifically oriented to Computer Aided Design (CAD), Computer Aided Engineering (CAE) and "user friendly" computer peripheral devices. One such example is a mouse, whereby the trackmarble is contained within an apparatus and by moving the apparatus on a flat surface the trackmarble rotates, thereby moving the cursor on a cathode ray tube (CRT). Another example is an operator entry device for a workstation. In addition to moving a cursor, a trackmarble can be utilized to perform other computer control functions such as updating a number, drawing a line, selecting a menu, etc.
(2) Description of the Prior Art
Present trackmarble to computer interfaces require the output quadrature data to be digitized into a parallel or serial digital word that the computer can read. The computer must periodically sample the trackmarble's quadrature output data, then process that data into a form suited to the Central Processing Unit's (CPU's) internal architecture.
The trackmarble is commonly used as a cathode ray tube (CRT) cursor control device. As the trackmarble is rotated, a cursor moves in any one of four X-Y quadrants across the CRT screen. If the cursor is in the lower left corner of the screen for example, and if the operator wants to move the cursor to the upper right corner of the screen, the computer must periodically read the trackmarble's output and relocate the cursor's position. If the distance from the lower left to the upper right represents a change of 1000 pixels in the X direction and 1000 pixels in the Y direction and if the trackmarble outputs 100 pixels per revolution, then the trackmarble must spin 10 times to generate, a change of 1000 pixels in both the X and Y directions. Most marbles can spin at best (4) revolutions per second, so a 1000 pixel change would take a minimum of 2.5 seconds. The CPU must read the trackmarble's output continuously in order to move the cursor 1000 pixels in a minimum of 2.5 seconds.